:art: stamp2age

huangqimin001 3 years ago
parent
commit
e3afef5185
2 changed files with 21 additions and 1 deletions
  1. 2 1
      api/eqpt_views.py
  2. 19 0
      utils/age.py

+ 2 - 1
api/eqpt_views.py

@@ -14,6 +14,7 @@ from TimeConvert import TimeConvert as tc
14 14
 
15 15
 from equipment.models import (IsolationPointInfo, ThermometerEquipmentInfo, ThermometerMeasureInfo,
16 16
                               ThermometerMeasureLogInfo)
17
+from utils.age import stamp2age
17 18
 from utils.error.errno_utils import IsolationPointStatusCode, ThermometerEquipmentStatusCode
18 19
 
19 20
 
@@ -182,7 +183,7 @@ def upload_temperature(request):
182 183
     eqpt.name = name
183 184
     eqpt.sex = sex
184 185
     eqpt.birth_stamp = birth_stamp
185
-    eqpt.age = age
186
+    eqpt.age = stamp2age(birth_stamp)
186 187
     eqpt.phone = phone
187 188
     eqpt.last_submit_at = tc.utc_datetime()
188 189
     eqpt.save()

+ 19 - 0
utils/age.py

@@ -0,0 +1,19 @@
1
+import datetime
2
+
3
+
4
+def stamp2age(stamp):
5
+    """
6
+    input:stamp 一个时间戳(毫秒)
7
+    return:age 年龄(跟当前时间相比)
8
+    """
9
+    # 将时间转化为一个datetime对象
10
+    stamp_dt = datetime.datetime.fromtimestamp(stamp / 1000)
11
+    # 将datetime对象转化为一个元祖,便于后续比较
12
+    stamp_tuple = (stamp_dt.year, stamp_dt.month, stamp_dt.day)
13
+    # 当前日期
14
+    now_dt = datetime.datetime.now()
15
+    now_tuple = (now_dt.year, now_dt.month, now_dt.day)
16
+    # 计算差值
17
+    age = now_tuple[0] - stamp_tuple[0] + (now_tuple[1:] > stamp_tuple[1:]) - 1
18
+
19
+    return age